<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kinetis Bootloader Host: blfwk::SBSourceFile Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kinetis Bootloader Host
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   <div id="projectbrief">Host Tools for Kinetis devices</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Introduction</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classblfwk_1_1_s_b_source_file.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="classblfwk_1_1_s_b_source_file-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">blfwk::SBSourceFile Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>SB Format (SB) source file.  
 <a href="classblfwk_1_1_s_b_source_file.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_s_b_source_file_8h_source.html">SBSourceFile.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for blfwk::SBSourceFile:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="classblfwk_1_1_s_b_source_file__inherit__graph.svg" width="170" height="187"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-1-trigger" src="closed.png" alt="+"/> Collaboration diagram for blfwk::SBSourceFile:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="classblfwk_1_1_s_b_source_file__coll__graph.svg" width="500" height="731"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:structblfwk_1_1_s_b_source_file_1_1boot__image__header__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_s_b_source_file.html#structblfwk_1_1_s_b_source_file_1_1boot__image__header__t">boot_image_header_t</a></td></tr>
<tr class="memdesc:structblfwk_1_1_s_b_source_file_1_1boot__image__header__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Header for the entire boot image.  <a href="classblfwk_1_1_s_b_source_file.html#structblfwk_1_1_s_b_source_file_1_1boot__image__header__t">More...</a><br /></td></tr>
<tr class="separator:structblfwk_1_1_s_b_source_file_1_1boot__image__header__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:unionblfwk_1_1_s_b_source_file_1_1boot__image__header__t_8____unnamed____"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_s_b_source_file.html#unionblfwk_1_1_s_b_source_file_1_1boot__image__header__t_8____unnamed____">boot_image_header_t.__unnamed__</a></td></tr>
<tr class="separator:unionblfwk_1_1_s_b_source_file_1_1boot__image__header__t_8____unnamed____"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structblfwk_1_1_s_b_source_file_1_1boot__image__header__t_8____unnamed_____8____unnamed____"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_s_b_source_file.html#structblfwk_1_1_s_b_source_file_1_1boot__image__header__t_8____unnamed_____8____unnamed____">boot_image_header_t.__unnamed__.__unnamed__</a></td></tr>
<tr class="separator:structblfwk_1_1_s_b_source_file_1_1boot__image__header__t_8____unnamed_____8____unnamed____"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_s_b_source_file_1_1_s_b_file_exception.html">SBFileException</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple exception thrown to indicate an error in the input SB file format.  <a href="classblfwk_1_1_s_b_source_file_1_1_s_b_file_exception.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structblfwk_1_1_s_b_source_file_1_1version__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_s_b_source_file.html#structblfwk_1_1_s_b_source_file_1_1version__t">version_t</a></td></tr>
<tr class="memdesc:structblfwk_1_1_s_b_source_file_1_1version__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same version struct used for 3600 boot image.  <a href="classblfwk_1_1_s_b_source_file.html#structblfwk_1_1_s_b_source_file_1_1version__t">More...</a><br /></td></tr>
<tr class="separator:structblfwk_1_1_s_b_source_file_1_1version__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:adaf9237e59d7ba1f1f5a5deae6b81cad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adaf9237e59d7ba1f1f5a5deae6b81cad"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_s_b_source_file.html#adaf9237e59d7ba1f1f5a5deae6b81cad">SBSourceFile</a> (const std::string &amp;path)</td></tr>
<tr class="memdesc:adaf9237e59d7ba1f1f5a5deae6b81cad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:adaf9237e59d7ba1f1f5a5deae6b81cad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34638931f3fcb51544475e886530b088"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a34638931f3fcb51544475e886530b088"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_s_b_source_file.html#a34638931f3fcb51544475e886530b088">~SBSourceFile</a> ()</td></tr>
<tr class="memdesc:a34638931f3fcb51544475e886530b088"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a34638931f3fcb51544475e886530b088"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Data source creation</div></td></tr>
<tr class="memitem:a08991961cec05f1c218e9763c35f6f2b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a08991961cec05f1c218e9763c35f6f2b"></a>
virtual <a class="el" href="classblfwk_1_1_data_source.html">DataSource</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_s_b_source_file.html#a08991961cec05f1c218e9763c35f6f2b">createDataSource</a> ()</td></tr>
<tr class="memdesc:a08991961cec05f1c218e9763c35f6f2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an unmapped data source from the entire file. <br /></td></tr>
<tr class="separator:a08991961cec05f1c218e9763c35f6f2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classblfwk_1_1_binary_source_file"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classblfwk_1_1_binary_source_file')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classblfwk_1_1_binary_source_file.html">blfwk::BinarySourceFile</a></td></tr>
<tr class="memitem:abd6c00a01714e0758a34bf3149eac2de inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd6c00a01714e0758a34bf3149eac2de"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_binary_source_file.html#abd6c00a01714e0758a34bf3149eac2de">BinarySourceFile</a> (const std::string &amp;path, <a class="el" href="classblfwk_1_1_source_file.html#adae94562410f32ab49ebd3275b733998">source_file_t</a> sourceFileType=<a class="el" href="classblfwk_1_1_source_file.html#adae94562410f32ab49ebd3275b733998a5db2add13330cd84a585fcaed48aa869">kBinarySourceFile</a>)</td></tr>
<tr class="memdesc:abd6c00a01714e0758a34bf3149eac2de inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:abd6c00a01714e0758a34bf3149eac2de inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35c580bb63fe9c327623e839bf2a7e97 inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35c580bb63fe9c327623e839bf2a7e97"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>supportsNamedSections</b> () const </td></tr>
<tr class="separator:a35c580bb63fe9c327623e839bf2a7e97 inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9027f968de9677d90dc958189d509af7 inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9027f968de9677d90dc958189d509af7"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>supportsNamedSymbols</b> () const </td></tr>
<tr class="separator:a9027f968de9677d90dc958189d509af7 inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2dd9dc3890dacb4edbaca239ef1f4fca inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2dd9dc3890dacb4edbaca239ef1f4fca"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_binary_source_file.html#a2dd9dc3890dacb4edbaca239ef1f4fca">guessEntryPointAndStackPointer</a> ()</td></tr>
<tr class="memdesc:a2dd9dc3890dacb4edbaca239ef1f4fca inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize entry point and stack pointer from assumed vetcor table at the beginning of the file. <br /></td></tr>
<tr class="separator:a2dd9dc3890dacb4edbaca239ef1f4fca inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1606d1de51962f5e7ff5b1d74d01e51 inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad1606d1de51962f5e7ff5b1d74d01e51"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_binary_source_file.html#ad1606d1de51962f5e7ff5b1d74d01e51">hasEntryPoint</a> ()</td></tr>
<tr class="memdesc:ad1606d1de51962f5e7ff5b1d74d01e51 inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if an entry point was set in the file. <br /></td></tr>
<tr class="separator:ad1606d1de51962f5e7ff5b1d74d01e51 inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa50124140e62d9a6574ae15c57811378 inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa50124140e62d9a6574ae15c57811378"></a>
virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_binary_source_file.html#aa50124140e62d9a6574ae15c57811378">getEntryPointAddress</a> ()</td></tr>
<tr class="memdesc:aa50124140e62d9a6574ae15c57811378 inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the entry point address. <br /></td></tr>
<tr class="separator:aa50124140e62d9a6574ae15c57811378 inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2693df1c4e39833729cd47ffc99885f inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab2693df1c4e39833729cd47ffc99885f"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_binary_source_file.html#ab2693df1c4e39833729cd47ffc99885f">getStackPointer</a> ()</td></tr>
<tr class="memdesc:ab2693df1c4e39833729cd47ffc99885f inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the stack pointer. <br /></td></tr>
<tr class="separator:ab2693df1c4e39833729cd47ffc99885f inherit pub_methods_classblfwk_1_1_binary_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classblfwk_1_1_source_file"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classblfwk_1_1_source_file')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classblfwk_1_1_source_file.html">blfwk::SourceFile</a></td></tr>
<tr class="memitem:aa1725fc0dd2bfb273368aeff942000c8 inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1725fc0dd2bfb273368aeff942000c8"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#aa1725fc0dd2bfb273368aeff942000c8">SourceFile</a> (const std::string &amp;path, <a class="el" href="classblfwk_1_1_source_file.html#adae94562410f32ab49ebd3275b733998">source_file_t</a> filetype)</td></tr>
<tr class="memdesc:aa1725fc0dd2bfb273368aeff942000c8 inherit pub_methods_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:aa1725fc0dd2bfb273368aeff942000c8 inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb46a420d0bd2070581c66d9da5e0bf4 inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#acb46a420d0bd2070581c66d9da5e0bf4">~SourceFile</a> ()</td></tr>
<tr class="memdesc:acb46a420d0bd2070581c66d9da5e0bf4 inherit pub_methods_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#acb46a420d0bd2070581c66d9da5e0bf4">More...</a><br /></td></tr>
<tr class="separator:acb46a420d0bd2070581c66d9da5e0bf4 inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7c3cda0a5cb1eb29c1c12ff380b06c0 inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#ae7c3cda0a5cb1eb29c1c12ff380b06c0">setOptions</a> (<a class="el" href="classblfwk_1_1_option_context.html">OptionContext</a> *context)</td></tr>
<tr class="memdesc:ae7c3cda0a5cb1eb29c1c12ff380b06c0 inherit pub_methods_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the option context.  <a href="#ae7c3cda0a5cb1eb29c1c12ff380b06c0">More...</a><br /></td></tr>
<tr class="separator:ae7c3cda0a5cb1eb29c1c12ff380b06c0 inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53f5dab50e8fecb2d4d7ec53b45fabc1 inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a53f5dab50e8fecb2d4d7ec53b45fabc1"></a>
const <a class="el" href="classblfwk_1_1_option_context.html">OptionContext</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#a53f5dab50e8fecb2d4d7ec53b45fabc1">getOptions</a> () const </td></tr>
<tr class="memdesc:a53f5dab50e8fecb2d4d7ec53b45fabc1 inherit pub_methods_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the option context. <br /></td></tr>
<tr class="separator:a53f5dab50e8fecb2d4d7ec53b45fabc1 inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1133162fe35fd5139a8105ef18076c4f inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1133162fe35fd5139a8105ef18076c4f"></a>
<a class="el" href="classblfwk_1_1_source_file.html#adae94562410f32ab49ebd3275b733998">source_file_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#a1133162fe35fd5139a8105ef18076c4f">getFileType</a> () const </td></tr>
<tr class="memdesc:a1133162fe35fd5139a8105ef18076c4f inherit pub_methods_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the file type. <br /></td></tr>
<tr class="separator:a1133162fe35fd5139a8105ef18076c4f inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9724c2d6fcf119f1617274e39fad3581 inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9724c2d6fcf119f1617274e39fad3581"></a>
const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#a9724c2d6fcf119f1617274e39fad3581">getPath</a> () const </td></tr>
<tr class="memdesc:a9724c2d6fcf119f1617274e39fad3581 inherit pub_methods_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the path to the file. <br /></td></tr>
<tr class="separator:a9724c2d6fcf119f1617274e39fad3581 inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82a95e9ec0b19b5e2851647dad25b911 inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a82a95e9ec0b19b5e2851647dad25b911"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#a82a95e9ec0b19b5e2851647dad25b911">getSize</a> () const </td></tr>
<tr class="memdesc:a82a95e9ec0b19b5e2851647dad25b911 inherit pub_methods_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the size in bytes of the file. <br /></td></tr>
<tr class="separator:a82a95e9ec0b19b5e2851647dad25b911 inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adca85268a0c1382d42b9380ffe31c39e inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#adca85268a0c1382d42b9380ffe31c39e">open</a> ()</td></tr>
<tr class="memdesc:adca85268a0c1382d42b9380ffe31c39e inherit pub_methods_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens the file.  <a href="#adca85268a0c1382d42b9380ffe31c39e">More...</a><br /></td></tr>
<tr class="separator:adca85268a0c1382d42b9380ffe31c39e inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a7c83d27c642615ae2c8bbf46fc025d inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a7c83d27c642615ae2c8bbf46fc025d"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#a0a7c83d27c642615ae2c8bbf46fc025d">close</a> ()</td></tr>
<tr class="memdesc:a0a7c83d27c642615ae2c8bbf46fc025d inherit pub_methods_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the file. <br /></td></tr>
<tr class="separator:a0a7c83d27c642615ae2c8bbf46fc025d inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8919b8da1fbd6fa9ec6bac03e07f4ef7 inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8919b8da1fbd6fa9ec6bac03e07f4ef7"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#a8919b8da1fbd6fa9ec6bac03e07f4ef7">isOpen</a> () const </td></tr>
<tr class="memdesc:a8919b8da1fbd6fa9ec6bac03e07f4ef7 inherit pub_methods_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the file is already open. <br /></td></tr>
<tr class="separator:a8919b8da1fbd6fa9ec6bac03e07f4ef7 inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a133cf25e96d7526b2bad4dabf2d3374c inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classblfwk_1_1_data_source.html">DataSource</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#a133cf25e96d7526b2bad4dabf2d3374c">createDataSource</a> (<a class="el" href="classblfwk_1_1_string_matcher.html">StringMatcher</a> &amp;matcher)</td></tr>
<tr class="memdesc:a133cf25e96d7526b2bad4dabf2d3374c inherit pub_methods_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a data source out of one or more sections of the file.  <a href="#a133cf25e96d7526b2bad4dabf2d3374c">More...</a><br /></td></tr>
<tr class="separator:a133cf25e96d7526b2bad4dabf2d3374c inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1560a6ef0141423d6e4978d67f8468f6 inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classblfwk_1_1_data_source.html">DataSource</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#a1560a6ef0141423d6e4978d67f8468f6">createDataSource</a> (const std::string &amp;section)</td></tr>
<tr class="memdesc:a1560a6ef0141423d6e4978d67f8468f6 inherit pub_methods_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a data source out of one section of the file.  <a href="#a1560a6ef0141423d6e4978d67f8468f6">More...</a><br /></td></tr>
<tr class="separator:a1560a6ef0141423d6e4978d67f8468f6 inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c6c26132f1c024fdd0a71580a6b9e23 inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c6c26132f1c024fdd0a71580a6b9e23"></a>
virtual <a class="el" href="classblfwk_1_1_data_target.html">DataTarget</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>createDataTargetForSection</b> (const std::string &amp;section)</td></tr>
<tr class="separator:a0c6c26132f1c024fdd0a71580a6b9e23 inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f7a5fca0207d2960b56defbb557f7f3 inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f7a5fca0207d2960b56defbb557f7f3"></a>
virtual <a class="el" href="classblfwk_1_1_data_target.html">DataTarget</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>createDataTargetForSymbol</b> (const std::string &amp;symbol)</td></tr>
<tr class="separator:a5f7a5fca0207d2960b56defbb557f7f3 inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93b7c1e8e1b3f0b9eaa5d7ecd038718a inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a93b7c1e8e1b3f0b9eaa5d7ecd038718a"></a>
virtual <a class="el" href="classblfwk_1_1_data_target.html">DataTarget</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>createDataTargetForEntryPoint</b> ()</td></tr>
<tr class="separator:a93b7c1e8e1b3f0b9eaa5d7ecd038718a inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c4c0f799bc15ac74739197b9a16bf0b inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7c4c0f799bc15ac74739197b9a16bf0b"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#a7c4c0f799bc15ac74739197b9a16bf0b">hasSymbol</a> (const std::string &amp;name)</td></tr>
<tr class="memdesc:a7c4c0f799bc15ac74739197b9a16bf0b inherit pub_methods_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether a symbol exists in the source file. <br /></td></tr>
<tr class="separator:a7c4c0f799bc15ac74739197b9a16bf0b inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af45e73f6dc5da4cdfb503c97e5ab8e6a inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af45e73f6dc5da4cdfb503c97e5ab8e6a"></a>
virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#af45e73f6dc5da4cdfb503c97e5ab8e6a">getSymbolValue</a> (const std::string &amp;name)</td></tr>
<tr class="memdesc:af45e73f6dc5da4cdfb503c97e5ab8e6a inherit pub_methods_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value of a symbol. <br /></td></tr>
<tr class="separator:af45e73f6dc5da4cdfb503c97e5ab8e6a inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a895a7375d01aaed725dba7524325a36a inherit pub_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a895a7375d01aaed725dba7524325a36a"></a>
virtual unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#a895a7375d01aaed725dba7524325a36a">getSymbolSize</a> (const std::string &amp;name)</td></tr>
<tr class="memdesc:a895a7375d01aaed725dba7524325a36a inherit pub_methods_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size of a symbol. <br /></td></tr>
<tr class="separator:a895a7375d01aaed725dba7524325a36a inherit pub_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a5ee5186fcfed23d9f5f3c4b618dde8b5"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_s_b_source_file.html#a5ee5186fcfed23d9f5f3c4b618dde8b5">isSBFile</a> (std::istream &amp;stream)</td></tr>
<tr class="memdesc:a5ee5186fcfed23d9f5f3c4b618dde8b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Identifies whether the stream contains an SB file.  <a href="#a5ee5186fcfed23d9f5f3c4b618dde8b5">More...</a><br /></td></tr>
<tr class="separator:a5ee5186fcfed23d9f5f3c4b618dde8b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_classblfwk_1_1_source_file"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classblfwk_1_1_source_file')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classblfwk_1_1_source_file.html">blfwk::SourceFile</a></td></tr>
<tr class="memitem:a32cff59ce3a989ccf10b25be0c4a12ef inherit pub_static_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classblfwk_1_1_source_file.html">SourceFile</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#a32cff59ce3a989ccf10b25be0c4a12ef">openFile</a> (const std::string &amp;path)</td></tr>
<tr class="separator:a32cff59ce3a989ccf10b25be0c4a12ef inherit pub_static_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
Protected Types</h2></td></tr>
<tr class="memitem:a6ef81dace79541684ab94a3a2a63efe7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6ef81dace79541684ab94a3a2a63efe7"></a>
typedef uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_s_b_source_file.html#a6ef81dace79541684ab94a3a2a63efe7">cipher_block_t</a>[16]</td></tr>
<tr class="memdesc:a6ef81dace79541684ab94a3a2a63efe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">An AES-128 cipher block is 16 bytes. <br /></td></tr>
<tr class="separator:a6ef81dace79541684ab94a3a2a63efe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e02b67443ecac91a6d901f9afcf0609"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e02b67443ecac91a6d901f9afcf0609"></a>
typedef uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_s_b_source_file.html#a2e02b67443ecac91a6d901f9afcf0609">sha1_digest_t</a>[20]</td></tr>
<tr class="memdesc:a2e02b67443ecac91a6d901f9afcf0609"><td class="mdescLeft">&#160;</td><td class="mdescRight">A SHA-1 digest is 160 bits, or 20 bytes. <br /></td></tr>
<tr class="separator:a2e02b67443ecac91a6d901f9afcf0609"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1a4a6417a8eef7751a5a1fc453d2a3a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1a4a6417a8eef7751a5a1fc453d2a3a"></a>
typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_s_b_source_file.html#ac1a4a6417a8eef7751a5a1fc453d2a3a">section_id_t</a></td></tr>
<tr class="memdesc:ac1a4a6417a8eef7751a5a1fc453d2a3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unique identifier type for a section. <br /></td></tr>
<tr class="separator:ac1a4a6417a8eef7751a5a1fc453d2a3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classblfwk_1_1_source_file"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classblfwk_1_1_source_file')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classblfwk_1_1_source_file.html">blfwk::SourceFile</a></td></tr>
<tr class="memitem:adae94562410f32ab49ebd3275b733998 inherit pub_types_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#adae94562410f32ab49ebd3275b733998">source_file_t</a> { <br />
&#160;&#160;<a class="el" href="classblfwk_1_1_source_file.html#adae94562410f32ab49ebd3275b733998a5db2add13330cd84a585fcaed48aa869">kBinarySourceFile</a>, 
<br />
&#160;&#160;<a class="el" href="classblfwk_1_1_source_file.html#adae94562410f32ab49ebd3275b733998a87d9f3d7198bfc4fb3f060e0e5443b72">kELFSourceFile</a>, 
<br />
&#160;&#160;<a class="el" href="classblfwk_1_1_source_file.html#adae94562410f32ab49ebd3275b733998a0ddf54173856700b914bf86d73ebc6a1">kIntelHexSourceFile</a>, 
<br />
&#160;&#160;<a class="el" href="classblfwk_1_1_source_file.html#adae94562410f32ab49ebd3275b733998aa2bf9a344afe3034a1f6f61eac3d5a05">kSBSourceFile</a>, 
<br />
&#160;&#160;<a class="el" href="classblfwk_1_1_source_file.html#adae94562410f32ab49ebd3275b733998a69c6137855aa55ef0489be8280fb4292">kSRecordSourceFile</a>
<br />
 }<tr class="memdesc:adae94562410f32ab49ebd3275b733998"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set of supported executable image file formats.  <a href="classblfwk_1_1_source_file.html#adae94562410f32ab49ebd3275b733998">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:adae94562410f32ab49ebd3275b733998 inherit pub_types_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classblfwk_1_1_source_file"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classblfwk_1_1_source_file')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classblfwk_1_1_source_file.html">blfwk::SourceFile</a></td></tr>
<tr class="memitem:a6d5c6fc36abf7fe67de1b18b25a78265 inherit pro_methods_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d5c6fc36abf7fe67de1b18b25a78265"></a>
std::ifstream *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#a6d5c6fc36abf7fe67de1b18b25a78265">getStream</a> ()</td></tr>
<tr class="memdesc:a6d5c6fc36abf7fe67de1b18b25a78265 inherit pro_methods_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal access to the input stream object. <br /></td></tr>
<tr class="separator:a6d5c6fc36abf7fe67de1b18b25a78265 inherit pro_methods_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classblfwk_1_1_binary_source_file"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classblfwk_1_1_binary_source_file')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classblfwk_1_1_binary_source_file.html">blfwk::BinarySourceFile</a></td></tr>
<tr class="memitem:a992b36adc1ea289c2308e2df92d00553 inherit pro_attribs_classblfwk_1_1_binary_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a992b36adc1ea289c2308e2df92d00553"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_entry_point</b></td></tr>
<tr class="separator:a992b36adc1ea289c2308e2df92d00553 inherit pro_attribs_classblfwk_1_1_binary_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7cc20bc700310935509216d822ebfa6 inherit pro_attribs_classblfwk_1_1_binary_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7cc20bc700310935509216d822ebfa6"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>m_stack_pointer</b></td></tr>
<tr class="separator:af7cc20bc700310935509216d822ebfa6 inherit pro_attribs_classblfwk_1_1_binary_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classblfwk_1_1_source_file"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classblfwk_1_1_source_file')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classblfwk_1_1_source_file.html">blfwk::SourceFile</a></td></tr>
<tr class="memitem:a7dfdeceff75c2ddb09de5bfd68730b2e inherit pro_attribs_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7dfdeceff75c2ddb09de5bfd68730b2e"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#a7dfdeceff75c2ddb09de5bfd68730b2e">m_path</a></td></tr>
<tr class="memdesc:a7dfdeceff75c2ddb09de5bfd68730b2e inherit pro_attribs_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Path to the file. <br /></td></tr>
<tr class="separator:a7dfdeceff75c2ddb09de5bfd68730b2e inherit pro_attribs_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2de3d6cf300bf5b26d83a7e1347aa98b inherit pro_attribs_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2de3d6cf300bf5b26d83a7e1347aa98b"></a>
<a class="el" href="group__smart__pointer.html#classsmart__ptr">smart_ptr</a>&lt; std::ifstream &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#a2de3d6cf300bf5b26d83a7e1347aa98b">m_stream</a></td></tr>
<tr class="memdesc:a2de3d6cf300bf5b26d83a7e1347aa98b inherit pro_attribs_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">File stream, or NULL if file is closed. <br /></td></tr>
<tr class="separator:a2de3d6cf300bf5b26d83a7e1347aa98b inherit pro_attribs_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea6f50965d574aa5292423ccc6da9e92 inherit pro_attribs_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea6f50965d574aa5292423ccc6da9e92"></a>
<a class="el" href="group__smart__pointer.html#classsmart__ptr">smart_ptr</a>&lt; <a class="el" href="classblfwk_1_1_option_context.html">OptionContext</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#aea6f50965d574aa5292423ccc6da9e92">m_options</a></td></tr>
<tr class="memdesc:aea6f50965d574aa5292423ccc6da9e92 inherit pro_attribs_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Table of option values. <br /></td></tr>
<tr class="separator:aea6f50965d574aa5292423ccc6da9e92 inherit pro_attribs_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83beca715b2d74393e260424308752c9 inherit pro_attribs_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83beca715b2d74393e260424308752c9"></a>
<a class="el" href="classblfwk_1_1_source_file.html#adae94562410f32ab49ebd3275b733998">source_file_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#a83beca715b2d74393e260424308752c9">m_filetype</a></td></tr>
<tr class="memdesc:a83beca715b2d74393e260424308752c9 inherit pro_attribs_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">Image file type. <br /></td></tr>
<tr class="separator:a83beca715b2d74393e260424308752c9 inherit pro_attribs_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6d6f53487bc9f00f78c1d72134cfcf2 inherit pro_attribs_classblfwk_1_1_source_file"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad6d6f53487bc9f00f78c1d72134cfcf2"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblfwk_1_1_source_file.html#ad6d6f53487bc9f00f78c1d72134cfcf2">m_size</a></td></tr>
<tr class="memdesc:ad6d6f53487bc9f00f78c1d72134cfcf2 inherit pro_attribs_classblfwk_1_1_source_file"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size in bytes of the file. <br /></td></tr>
<tr class="separator:ad6d6f53487bc9f00f78c1d72134cfcf2 inherit pro_attribs_classblfwk_1_1_source_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>SB Format (SB) source file. </p>
</div><hr/><h2 class="groupheader">Class Documentation</h2>
<a name="structblfwk_1_1_s_b_source_file_1_1boot__image__header__t" id="structblfwk_1_1_s_b_source_file_1_1boot__image__header__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct blfwk::SBSourceFile::boot_image_header_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Header for the entire boot image. </p>
<p>Fields of this header are arranged so that those used by the bootloader ROM all come first. They are also set up so that all fields are not split across cipher block boundaries. The fields not used by the bootloader are not subject to this restraint.</p>
<p>Image header size is always a round number of cipher blocks. The same also applies to the boot image itself. The padding, held in #blfwk::EncoreBootImage::boot_image_header_t::m_padding0 and #blfwk::EncoreBootImage::boot_image_header_t::m_padding1 is filled with random bytes.</p>
<p>The DEK dictionary, section table, and each section data region must all start on cipher block boundaries.</p>
<p>This header is not encrypted in the image file.</p>
<p>The m_digest field contains a SHA-1 digest of the fields of the header that follow it. It is the first field in the header so it doesn't change position or split the header in two if fields are added to the header. </p>
</div><div id="dynsection-2" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-2-trigger" src="closed.png" alt="+"/> Collaboration diagram for blfwk::SBSourceFile::boot_image_header_t:</div>
<div id="dynsection-2-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-2-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structblfwk_1_1_s_b_source_file_1_1boot__image__header__t__coll__graph.svg" width="219" height="171"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aed693f1127fd1e84d0cadf17f0db26a7"></a>union <a class="el" href="classblfwk_1_1_s_b_source_file.html#unionblfwk_1_1_s_b_source_file_1_1boot__image__header__t_8____unnamed____">boot_image_header_t</a></td>
<td class="fieldname">
__unnamed__</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a77e4462dae9a541d364fcf969e90c6e1"></a><a class="el" href="classblfwk_1_1_s_b_source_file.html#structblfwk_1_1_s_b_source_file_1_1version__t">version_t</a></td>
<td class="fieldname">
m_componentVersion</td>
<td class="fielddoc">
Component version. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a4442d6f71cd5edb035924ec133a5c7b8"></a>uint16_t</td>
<td class="fieldname">
m_driveTag</td>
<td class="fielddoc">
Drive tag for the system drive which this boot image belongs to. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a0654982842618a0deab073e1432b9044"></a><a class="el" href="classblfwk_1_1_s_b_source_file.html#ac1a4a6417a8eef7751a5a1fc453d2a3a">section_id_t</a></td>
<td class="fieldname">
m_firstBootableSectionID</td>
<td class="fielddoc">
ID of section to start booting from. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ae8b6105d7f29d4b2c66f99468077e0d1"></a>uint32_t</td>
<td class="fieldname">
m_firstBootTagBlock</td>
<td class="fielddoc">
Offset from start of file to the first boot tag, in blocks. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa4fc077ce97c630662d713ab01a8c8e9"></a>uint16_t</td>
<td class="fieldname">
m_flags</td>
<td class="fielddoc">
Flags or options associated with the entire image. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab3fc11a5c29d6fecb3962440d10c2949"></a>uint16_t</td>
<td class="fieldname">
m_headerBlocks</td>
<td class="fielddoc">
Size of this header, including this size word, in blocks. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aec500ce5d5a444fc178765e6d99096e1"></a>uint32_t</td>
<td class="fieldname">
m_imageBlocks</td>
<td class="fielddoc">
Size of entire image in blocks. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a25879fac38e20bc4ab77a3c08f0a7ba1"></a>uint16_t</td>
<td class="fieldname">
m_keyCount</td>
<td class="fielddoc">
Number of entries in DEK dictionary. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ad9d6a7dd03f3752cf245e330b749a590"></a>uint16_t</td>
<td class="fieldname">
m_keyDictionaryBlock</td>
<td class="fielddoc">
Starting block number for the key dictionary. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a67260bd40ec7880fb6ea5e29cc979522"></a>uint8_t</td>
<td class="fieldname">
m_majorVersion</td>
<td class="fielddoc">
Major version for the image format, see #ROM_BOOT_IMAGE_MAJOR_VERSION. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ad1f24f9a0ffacb223d6cbad23c8ec9c1"></a>uint8_t</td>
<td class="fieldname">
m_minorVersion</td>
<td class="fielddoc">
Minor version of the boot image format, see #ROM_BOOT_IMAGE_MINOR_VERSION. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="adf0faf96e82e7286dd66ead875c23a51"></a>uint8_t</td>
<td class="fieldname">
m_padding0[2]</td>
<td class="fielddoc">
Padding to align <a class="el" href="classblfwk_1_1_s_b_source_file.html#a1490fbbfaaa1a732d788e89414a2c58f" title="Timestamp when image was generated in microseconds since 1-1-2000. ">m_timestamp</a> to long word. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab38c13fc12441eaa289210194a7a3920"></a>uint8_t</td>
<td class="fieldname">
m_padding1[6]</td>
<td class="fielddoc">
Padding to round up to next cipher block. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a681e4f4abee8afe9bc37da7c18f4cce6"></a><a class="el" href="classblfwk_1_1_s_b_source_file.html#structblfwk_1_1_s_b_source_file_1_1version__t">version_t</a></td>
<td class="fieldname">
m_productVersion</td>
<td class="fielddoc">
Product version. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a5ce9bf896e573840e97de37ac5dceb01"></a>uint16_t</td>
<td class="fieldname">
m_sectionCount</td>
<td class="fielddoc">
Number of section headers in this table. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ae39259ad11f9461a9a98ee7cc3db091e"></a>uint16_t</td>
<td class="fieldname">
m_sectionHeaderSize</td>
<td class="fielddoc">
Size in blocks of a section header. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a387b340bff829b267384b8f4e8062deb"></a>uint8_t</td>
<td class="fieldname">
m_signature[4]</td>
<td class="fielddoc">
'STMP', see #ROM_IMAGE_HEADER_SIGNATURE. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a5a0661b1a0bd0dbb4ad03879454ba279"></a>uint8_t</td>
<td class="fieldname">
m_signature2[4]</td>
<td class="fielddoc">
<p>Second signature to distinguish this .sb format from the 36xx format, see #ROM_IMAGE_HEADER_SIGNATURE2. </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1490fbbfaaa1a732d788e89414a2c58f"></a>uint64_t</td>
<td class="fieldname">
m_timestamp</td>
<td class="fielddoc">
Timestamp when image was generated in microseconds since 1-1-2000. </td></tr>
</table>

</div>
</div>
<a name="unionblfwk_1_1_s_b_source_file_1_1boot__image__header__t_8____unnamed____" id="unionblfwk_1_1_s_b_source_file_1_1boot__image__header__t_8____unnamed____"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">union blfwk::SBSourceFile::boot_image_header_t.__unnamed__</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"></div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a5c3a471334c0e3505b50fdbae9398b29"></a><a class="el" href="classblfwk_1_1_s_b_source_file.html#structblfwk_1_1_s_b_source_file_1_1boot__image__header__t_8____unnamed_____8____unnamed____">__unnamed__</a></td>
<td class="fieldname">
__unnamed__</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a99a3fafd8ef17e784808067bef8a224f"></a><a class="el" href="classblfwk_1_1_s_b_source_file.html#a2e02b67443ecac91a6d901f9afcf0609">sha1_digest_t</a></td>
<td class="fieldname">
m_digest</td>
<td class="fielddoc">
SHA-1 digest of image header. Also used as the crypto IV. </td></tr>
</table>

</div>
</div>
<a name="structblfwk_1_1_s_b_source_file_1_1boot__image__header__t_8____unnamed_____8____unnamed____" id="structblfwk_1_1_s_b_source_file_1_1boot__image__header__t_8____unnamed_____8____unnamed____"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct blfwk::SBSourceFile::boot_image_header_t.__unnamed__.__unnamed__</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"></div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ac3991dd66f9aeb163c2a65813dc136f5"></a>uint8_t</td>
<td class="fieldname">
m_extra[4]</td>
<td class="fielddoc">
The leftover top four bytes of the SHA-1 digest. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a98ab6d833cb6d80d38329f424e8c1634"></a><a class="el" href="classblfwk_1_1_s_b_source_file.html#a6ef81dace79541684ab94a3a2a63efe7">cipher_block_t</a></td>
<td class="fieldname">
m_iv</td>
<td class="fielddoc">
The first 16 bytes of the digest form the initialization vector. </td></tr>
</table>

</div>
</div>
<a name="structblfwk_1_1_s_b_source_file_1_1version__t" id="structblfwk_1_1_s_b_source_file_1_1version__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct blfwk::SBSourceFile::version_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Same version struct used for 3600 boot image. </p>
</div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a5018dbfb190b1089c281934fc2b6d7f3"></a>uint16_t</td>
<td class="fieldname">
m_major</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a403dfb4bf951a6dc889dcfd0197bedfa"></a>uint16_t</td>
<td class="fieldname">
m_minor</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a15598cd3bfdc9845b19b5034063597e8"></a>uint16_t</td>
<td class="fieldname">
m_pad0</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a702a1ac7b2e9fb47a37999254a859c22"></a>uint16_t</td>
<td class="fieldname">
m_pad1</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a5da2b7938b2db0e3f5279f8d41972313"></a>uint16_t</td>
<td class="fieldname">
m_pad2</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a093df6675f1c0ddcd721a4919ee06e63"></a>uint16_t</td>
<td class="fieldname">
m_revision</td>
<td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a5ee5186fcfed23d9f5f3c4b618dde8b5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool SBSourceFile::isSBFile </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>stream</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Identifies whether the stream contains an SB file. </p>
<p>&lt; Header from the SB boot image. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_s_b_source_file_8h_source.html">SBSourceFile.h</a></li>
<li>SBSourceFile.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>blfwk</b></li><li class="navelem"><a class="el" href="classblfwk_1_1_s_b_source_file.html">SBSourceFile</a></li>
    <li class="footer">Generated on Mon Mar 7 2016 16:49:51 for Kinetis Bootloader Host by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
